package gui;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

import logica.Configuracion;

@SuppressWarnings("serial")
public class Panel_Config extends JPanel {
	
	private JPanel p1, p2;
	
	private JTextField[] texto;
	private JLabel[]	 l;
	private JButton	     boton;
	
	private String ip_default;		 // Destino 
	private int    puerto_default;	 // Destino
	private int    id_lugar_default; // Origen
	
	/* Constructor */
	public Panel_Config(){
		setLayout(new BorderLayout());
		
		ip_default 		 = Configuracion.getIp(); 	
		puerto_default 	 = Configuracion.getPuerto();
		id_lugar_default = Configuracion.getIdlugar();
		
		// Panel 1 
		p1 	  = new JPanel();
		
		texto = new JTextField[3];
		l	  = new JLabel[3];		
		
		texto[0] = new JTextField(ip_default, 20);
		texto[1] = new JTextField(Integer.toString(puerto_default), 6);
		texto[2] = new JTextField(Integer.toString(id_lugar_default));
		
		l[0]     = new JLabel("IP");
		l[1]     = new JLabel("Puerto");
		l[2]	 = new JLabel("ID Lugar");
		
		for(int i=0;i<l.length; i++){
			p1.add(l[i]); 
			p1.add(texto[i]);
		}
		
		// Panel 2 
		p2 = new JPanel();
		
		boton  = new JButton("Guardar Cambios");
		boton.addActionListener(new guardar_config_action());
		
		p2.add(boton);
		
		// Compongo
		add(p1, BorderLayout.CENTER);
		add(p2, BorderLayout.SOUTH);	
	}
	
	private class guardar_config_action implements ActionListener {
		
		public void actionPerformed(ActionEvent e) {
			if(!texto[0].getText().equals(ip_default))
				Configuracion.setIp(texto[0].getText());
			
			if(!texto[1].getText().equals(puerto_default)){
				try {
					Configuracion.setPuerto( Integer.parseInt(texto[1].getText()) );
				} catch (NumberFormatException e1) {
					JOptionPane.showMessageDialog(null, 
							"El dato ingresado en campo puerto no es un numero!");
				}		
			}
			
			if(!texto[2].getText().equals(id_lugar_default)){
				try {
					Configuracion.setIdlugar( Integer.parseInt(texto[2].getText()) );
				} catch (NumberFormatException e1) {
					JOptionPane.showMessageDialog(null, 
							"El dato ingresado en campo lugar no es un numero!");
				}		
			} // Fin if
			
		} // Fin actionPerformed
	}
	
	
}
